1. Field of the Invention
The present invention generally relates to a method and apparatus for data management and more particularly to a data management method and system for legacy applications.
2. Description of the Related Art
Hardware Configuration Manager (HCM) is a legacy PC client application connecting to a host server application. The data repository is a binary file, which uses pointers for linking related data structures together, which describe the I/O configuration of a system processor complex. Multiple clients can access the same configuration repository. Therefore, a fast resynchronization mechanism between multiple clients is needed. As a solution to this problem, only the changes of a client are gathered and communicated among the concurrently accessing clients.
Accordingly, for a legacy data managing application, which uses a binary data format, a change log, which collects the changes of each client, needs to be added on the host. The data format needs to be compatible across software versions since it contains vital configuration data for the installation running different operating system versions in parallel.
Certain solutions use database systems. The use of database systems, however, is not appropriate since the application does not have a central data access API to map an add, update, or delete request to a database.
Other solutions use library and revision control systems. These systems compare text or binary files completely to calculate the differences. A drawback of the library and revision control systems is that the entire binary file must be sent to the repository.
Furthermore, other solutions use diff/patch tools. These solutions also compare text or binary files completely to calculate the differences. Patches only contain the differences but cannot resolve conflicts between different patches of the same data due to the missing semantics of the changes.
Comparing binary data in a byte-oriented fashion does not result in a semantically rich change log. Object semantics must be reflected in the change records to allow recognition of individually named members/fields of objects.